Developer --> Technical Publications
PATHHardware Documentation > USB Devices > Mac OS USB DDK API Reference


USBIsocWrite

The USBIsocWrite function supports isochronous write transactions, and is defined as follows:

USBIsocWrite(USBIsocPB *pb);

Required fields in the isochronous version of the USBPB parameter block for the USBIsocWrite function are

--> pbLength
Length of parameter block
--> pbVersion
Parameter block version, must be kUSBIsocPBVersion for isochronous function calls
<--usbStatus
Aggregate status, see discussion in The Isochronous Version Of The USBPB
--> usbCompletion
The completion routine
--> usbRefcon
General-purpose value passed back to the completion routine
--> usbReference
The isochronous pipe reference returned by the USBFindNextPipe or USBOpenPipe functions
--> usbReqCount
Specifies the size of the data to transfer. If this is set to 0 in the frReqCount field in the frame structure, the call sends a packet size of 0.
--> usbBuffer
Points to the data to be transferred. The buffer should be at least as big as the size specified in the usbReqCount field. If the buffer is set to nil , no data is transferred regardless of the value of usbReqCount
<-- usbActCount
Specifies the actual amount of data transferred on completion
--> usbFlags
Should be set to 0
--> usb.isoc.FrameList
Pointer to the list of frame structures
--> frReqCount  Number of bytes requested for each packet
<-- frStatus    Status returned by packet
<-- frActCount  Actual bytes transferred by packet
--> usb.isoc.NumFrames
Number of frames to attempt transfers in
--> usbFrame
Frame number of the first frame to transfer data

A complete discussion of how isochronous support is implemented and additional details about using the fileds in the isochronous version of the USBPB parameter block can be found in Using the USBPB For Isochronous Transactions .


© 1999 Apple Computer, Inc.

Previous | Back Up One Level | Next | Show Frames | Hide Frames